home *** CD-ROM | disk | FTP | other *** search
/ Ultimedia 1 / Ultimedia 1.iso / tools / soundtools / play16 / play16.doc < prev    next >
Text File  |  1994-07-25  |  8KB  |  202 lines

  1.  
  2. -- Play16 version 1.1 - a versatile soundplayer for the Amiga --
  3.  
  4.  
  5. Features in brief
  6. -----------------
  7.  - autodetects and plays several soundfiles, up to 16 bit / 56 kHz / stereo
  8.  - correct playback speed, even for sounds >28 kHz
  9.  - plays mono sounds on *both* channels, not only on the left one
  10.  - plays files that are larger than memory
  11.  - fast uLaw decompression
  12.  - system friendly audio channel allocation
  13.  - supported Filetypes are:
  14.  
  15.    * Microsoft RIFF-WAVE  (.WAV)  mono / stereo, 8 / 16 bit, linear / uLaw
  16.    * Sun/NeXT Audio       (.AU)   mono / stereo, 8 / 16 bit, linear / uLaw
  17.    * MacroSystem MAUD     (.MAUD) mono / stereo, 8 / 16 bit, linear
  18.    * Apple/SGI/Amiga AIFF (.AIFF) mono / stereo, 8 / 16 bit, linear
  19.  
  20.  
  21. What do I need to use Play16?
  22. -----------------------------
  23. Any Amiga running Kickstart/Workbench 2.04 or greater.
  24.  
  25.  
  26. What does it do?
  27. ----------------
  28. Basically, Play16 is capable of playing uncompressed and *some* compressed
  29. soundfiles through Amiga's standard audio device. If the actual resolution
  30. or playback rate exceeds that of the Amiga hardware, realtime conversion
  31. is done so that the sound is being played correctly.
  32.  
  33. You can even play 16 bit / 44.1 kHz sounds, providing all parts of
  34. your system can keep up with the high data transfer rate and lots
  35. of calculations needed for this task. (In this case an accelerated
  36. Amiga is recommended :-)
  37.  
  38.  
  39. How does it work?
  40. -----------------
  41. The standard Amiga audio device is limited to 8 bit / 28 kHz playbck
  42. when using DMA. With the introduction of ECS the 28 kHz DMA barrier
  43. was broken - but only if the current displaymode was one with double
  44. scan rate like productivity. If you don't have ECS or if you simply
  45. don't want to switch to Productivity just to listen to your desired
  46. sound, Play16 can can halve the sample rate during playback. In the
  47. current version of Play16 only 8 bit output is supported so 16 bit
  48. sounds are converted accordingly.
  49. To play back even long sounds, the popular method of double buffering
  50. is used. Alternatively, all data can be loaded into memory before
  51. playback. This is useful when playing short sounds or when loading
  52. the sound from disk.
  53.  
  54.  
  55. Why Play16?
  56. -----------
  57. 16 bit soundcards are becoming more and more popular, especially on the
  58. PC. The common file format over there is Microsoft's (yuck! :)) RIFF-
  59. WAVE format.
  60. I didn't find any CLI based program to play back 16 bit recordings, on a
  61. standard Amiga, so I decided to write one myself.
  62.  
  63.  
  64. What options are provided?
  65. --------------------------
  66. FAST/S      Do not automatically switch to halve sample rate if the
  67.             soundfile's rate exceeds 28 kHz. Use this option when
  68.             running your Amiga in Productivity or similar display
  69.             modes.
  70.  
  71. SINGLE/S    Use only one buffer rather then two and load all data into
  72.             memory befor playback.
  73.  
  74. BUFFER/N    Buffersize in samples. May vary from 32768 to 131072. The
  75.             amount of allocated memory also depends on whether the sound
  76.             is mono or stereo, 8 bit or 16 bit.
  77.             Default is 65536 samples, values are rounded to multiples of
  78.             32768.
  79.             Note that it is useless to modify this value when in single
  80.             buffer mode :)
  81.  
  82. VERBOSITY/N Sets the level of verbosity.
  83.             0: Just display the banner and error messages
  84.             1: Print additional information about the sound file,
  85.                allocated memory, etc.
  86.             2: Progress information
  87.             3: Debugging information (may look a bit weird :)
  88.             Default is level 0.
  89.  
  90. LOOPS/N     Determines the number of loops to be played.
  91.             Default is 1 loop. (Play the sound once.)
  92.             This option is not yet supported in SINGLE mode.
  93.  
  94. Example: Play16 baseline.wav FAST BUFFER=131072 VERBOSITY=1 LOOPS=10
  95.  
  96. Type 'Play16 ?' for shortcuts.
  97.  
  98.  
  99. Legal stuff
  100. -----------
  101. Play16 is copyrighted freeware. It may be distributed freely as long as
  102. no modifications are made to the executable and this document. A nominal
  103. fee may be asked to cover distribution costs.
  104.  
  105. Play16 may not be used for any commercial purposes or included with any
  106. commercial product without the written permission of the author.
  107.  
  108. No responsibilities are taken for damaged speakers, amplifiers, Amigas
  109. or any other components or data involved while using Play16.
  110.  
  111. Although I've done some beta testing I can't guarantee that Play16 will
  112. not crash! If you find any bugs, let me know.
  113.  
  114.  
  115. Miscellaneous
  116. -------------
  117. I don't claim Play16 to be fast. I've done some optimizing - but because
  118. the loader/converter module is a universial one, more data is actually
  119. being moved around different memory blocks than needed for playback.
  120. This method will however provide the basis for future enhancements in the
  121. playback routine like cascading two channels to archieve 14 bit output.
  122. I may also support some soundcards as well.
  123.  
  124. * Please note that English is not my native language :)
  125.  
  126. I can be reached at...
  127.  
  128. Internet: wenzel@unixserv.rz.fh-hannover.de
  129.           Thomas_Wenzel@aventure.fido.de
  130. Fido:     2:243/6050.28
  131. Snail:    Thomas Wenzel
  132.           Dresdener Str. 20
  133.           31789 Hameln
  134.           Germany
  135.  
  136. If you use this program, please send me a mail. I'd like to know how many
  137. people are interested in it at all.
  138.  
  139.  
  140. History
  141. -------
  142. V0.5ß   - Initial beta test release
  143.  
  144. V0.6ß   - Optimized the code a bit.
  145.  
  146. V0.7ß   - Fixed some severe bugs that caused Play16 to crash when trying
  147.           to load corrupted files.
  148.  
  149. V0.8ß   - Play16 can now be stopped by pressing ctrl-c during playback. The
  150.           buffer that is currently being played will be finished first.
  151.         - Automatic filter control depending on sample rate.
  152.  
  153. V0.9ß   - Added 'loop'-option. Sample can be played several times.
  154.         - All time consuming routines now in hand optimized assembler code.
  155.  
  156. V1.0ß   - Play16 now uses standard OS2.x commandline template.
  157.           Thanks to Kai for persuading me to do this :)
  158.  
  159. V1.0    - Done some minor bugfixes.
  160.  
  161. V1.1    - Oops! Play16 caused some Enforcer hits. Fixed that.
  162.           Thanks to Rod Schnell for reporting it.
  163.         - Added 'single'-option. Sound can be loaded completely into memory
  164.           before playing. No looping possible in this case yet!
  165.         - Playback time in minutes:seconds displayed if verbose >= 1
  166.         - uLaw decompression for WAVE-Files, using a decoding table
  167.           for maximum speed (didn't do much testing on it, hope it works!)
  168.         - MAUD filetype support (why do there have to be so many formats?)
  169.         - Sun/NeXT filetype support
  170.           Should also play 8 or 16 bit linear (hopefully)
  171.           Stereo playback may be distorted. Give it a try. :)
  172.         - AIFF filetype support
  173.           Note that the AIFF sounds saved with MacroSystem's MPro software
  174.           contain a corrupt ANNO chunk :-/
  175.           Play16 will detect this and play the file anyway.
  176.         - ctrl-c now stops playback immediately.
  177.           Thanks to Marc for some programming tips about that.
  178.  
  179.  
  180. Future plans
  181. ------------
  182. - IFF-8SVX, other uLaw-formats and maybe Creative-VOC support
  183. - ADPCM decompression
  184.   (Could anyone please send me the 16bit VOC specs, including ADPCM?)
  185. - 14 bit output
  186. - Soundcard support
  187. - More information about Sound (AUTHOR or ANNO-Chunk)
  188.  
  189.  
  190. Credits
  191. -------
  192. Thanks go to the following persons:
  193.  
  194. Kai Stuke   for many vital hints on C programming and the Amiga
  195.             audio device.
  196.             for beta testing this program.
  197.  
  198. Marc Führer for doing some beta testing as well.
  199.             for some hints on optimizing the code.
  200.  
  201. Clete Baker for supplying the AIFF, ADPCM and SDII specs.
  202.